<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
    </head>
    <body>
        <script>
            let number = 18;
            let user = {
                name: "xuhu",
                sex: "男",
            };

            // 定义属性方法，操作空间大，参数分别为：操作的对象，操作的属性名称，配置对象
            Object.defineProperty(user, "age", {
                // // 设置值，该配置项和get方法不能同时出现
                // value: number,
                // // 设置可修改，该配置项不能和set方法同时出现
                // writable: true,
                // 控制属性是否可以被枚举
                enumerable: true,
                // 设置可删除
                configurable: true,
                // getter计算属性
                get() {
                    console.log("获取age属性");
                    return number;
                },
                // setter监听
                set(value) {
                    console.log("修改age属性：" + value);
                    number = value;
                },
            });
        </script>
    </body>
</html>
